Міністерство освіти і науки, молоді та спорту України
Прикарпатський національний університет
імені Василя Стефаника
Кафедра радіофізики і електроніки
Лабораторна робота №5
Команди умовних та безумовних переходів восьмирозрядного мікропроцесора КР580ВМ80 (Intel 8080).
Івано-Франківськ – 2011
1. Мета роботи
Вивчити основні типи команд умовних та безумовних переходів, основні способи їх застосування, навчитися створювати програми з їх використанням.
2. Обладнання
Програма - емулятор мікропроцесорної системи на базі одно-кристального КР580ВМ80.
3. Короткі відомості з теорії
Широкі можливості мікропроцесора в значній мірі визначаються його здатністю приймати рішення в ході виконання програми у відповідності з отриманим результатом. Для забезпечення таких можливостей використовуються команди умовних та безумовних переходів, які дають змогу міняти послідовність виконання програм. З їх допомогою в програмах влаштовують цикли та розгалуження, тому вони інколи ще називаються командами розгалуження. В попередніх лабораторних роботах деякі з цих команд вже використовувались.
3.1. Загальні властивості команд переходів
Як витікає з їх назви, всі розглядувані команди поділяються на дві групи: безумовних та умовних переходів. Якщо на виконання команд першої групи не впливають результати попередніх обчислень, то виконання команд другої групи здійснюється якраз саме у відповідності з цими результатами.
За винятком команди PCHL, яка є однобайтовою, всі інші є трибайтовими. Це означає, що другий та третій байт команди містять повну 16-розрядну адресу деякої комірки пам'яті. В цій комірці пам'яті записана команда програми, яку необхідно виконати наступною в випадку, якщо задовільняється умова переходу. Перехід здійснюється шляхом запису адреси цієї комірки в лічильник команд PC та передачі керування команді, яка в ній записана. Якщо ж умова не задовільняється, то ніякого переходу не відбувається, а мікропроцесор виконує команду, наступну після команди переходу, тобто лічильник команд збільшує своє значення на 3. Оскільки адреса комірки, де міститься код команди, безпосередньо завантажується в PC, то вважається, що використовується безпосередня адресація. Єдина команда переходу, що використовує регістрову адресацію є однобайтова команда PCHL. Необхідно звернути увагу на те, що в другому байті команди міститься молодший байт адреси, а в третьому - старший. Тому, наприклад, команда JMP A7, 00 означає перехід за адресою 00А7h.
Слід пам'ятати, що після виконання команди переходу не залишається жодних даних про те, з якої точки програми було здійснено цей перехід, тому всі умовні та безумовні переходи необхідно застосовувати якомога рідше, оскільки наявність великої кількості галужень програми сильно ускладнює її написання та відлаштування.
3.2. Команди безумовного переходу
Під час виконання цих команд ніякі перевірки не здійснюються. В лічильник команд мікропроцесора автоматично завантажується значення другого та третього байту команди, і починається виконання команди за цією адресою. Команди безумовного переходу відрізняються від усіх команд переходів тим, що їх можна розглядати також як команди завантаження 16-розрядного регістра РС.
Команди безумовного переходу використовують в тому випадку, якщо необхідно здійснити перехід на чітко визначену команду програми, а також для зв'язування різних частин програми. Інколи їх використовують під час написання та відлаштування програми для переходів з так званих "заготовок" та "заглушок".
За допомогою команд безумовного переходу реалізують оператори типу GOTO мов високого рівня. Оскільки велика кількість безумовних переходів негативно відображається на надійності та "читабельності" програм, слід обмежувати використання команд такого виду.
В мікропроцесорі КР580ВМ80 передбачено 2 команди безумовного переходу:
1
Безумовний перехід
2
безпосередня
3
JMP B2, B3
4
B3 B2 → PC
5
C3h
303q
6
Команда займає 3 байти пам'яті, виконується за 3 цикли, 10 тактів.
7
Під час виконання ко...